<template>
  <section class="main">
      <input 
      id="toggle-all" 
      class="toggle-all" 
      type="checkbox" 
      v-model="changeAll"
      />
      <label for="toggle-all">Mark all as complete</label>
      <ul class="todo-list" >
        <!-- 当任务已完成，可以给 li 加上 completed 类，会让元素加上删除线 -->
        <li 
         v-for="item in list"
        :key="item.id"
        :class="{ completed: item.isDone }"
        >
          <div class="view">
            <input class="toggle" 
            type="checkbox" 
            :checked="item.isDone" 
            @click="changeCheck(item.id)"
            />
            <label>{{item.name}}</label>
            <button 
            class="destroy"
            @click="delFn(item.id)"
            ></button>
          </div>
        </li>
      </ul>
    </section>
</template>

<script>
export default {
  props:{
    list:{
      type:Array,
      require:true,
    }
  },
  methods:{
    changeCheck(id){
      this.$emit('changeCheck',id)
    },
    delFn(id){
      this.$emit('delFn',id)
    }
  },
  computed:{
    changeAll:{
      get(){
      return this.list.every(item => item.isDone)
    },
    set(val){
      this.$emit('changeAll',val)
    }
    }
  }
}
</script>

<style>

</style>